package com.tc.service;

import com.tc.domain.Patient_service_order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tc.dto.Patient_service_orderDTO;
import com.tc.dto.Patient_service_orderQueryDTO;
import com.tc.vo.PageResultVO;
import com.tc.vo.Patient_service_orderVO;

import java.util.List;

/**
 * <p>
 * 患者诊疗服务医嘱服务类
 * </p>
 *
 * @author jcd
 * @since 2025-07-09
 */
public interface IPatient_service_orderService extends IService<Patient_service_order> {
    
    /**
     * 分页查询患者诊疗服务医嘱
     * 
     * @param queryDTO 查询条件
     * @return 分页结果
     */
    PageResultVO<Patient_service_orderVO> pageQuery(Patient_service_orderQueryDTO queryDTO);
    
    /**
     * 根据患者ID获取诊疗服务医嘱列表
     * 
     * @param patientId 患者ID
     * @return 诊疗服务医嘱列表
     */
    List<Patient_service_orderVO> getByPatientId(Long patientId);
    
    /**
     * 根据ID获取诊疗服务医嘱详情
     * 
     * @param id 医嘱ID
     * @return 诊疗服务医嘱详情
     */
    Patient_service_orderVO getServiceOrderById(Long id);
    
    /**
     * 新增诊疗服务医嘱
     * 
     * @param orderDTO 诊疗服务医嘱信息
     * @return 是否成功
     */
    boolean addServiceOrder(Patient_service_orderDTO orderDTO);
    
    /**
     * 修改诊疗服务医嘱
     * 
     * @param orderDTO 诊疗服务医嘱信息
     * @return 是否成功
     */
    boolean updateServiceOrder(Patient_service_orderDTO orderDTO);
    
    /**
     * 删除诊疗服务医嘱
     * 
     * @param id 医嘱ID
     * @return 是否成功
     */
    boolean deleteServiceOrder(Long id);
    
    /**
     * 批量删除诊疗服务医嘱
     * 
     * @param ids ID列表
     * @return 是否成功
     */
    boolean batchDeleteServiceOrder(List<Long> ids);
}
